#ifndef __MD5_H__
#define __MD5_H__

#include "osa_common.h"

EXTERN_C_BLOCKSTART

/* Data structure for MD5 (Message Digest) computation */
typedef struct
{
	uint32_t i[2];      /* number of _bits_ handled mod 2^64 */
	uint32_t buf[4];    /* scratch buffer */
	uint8_t in[64];     /* input buffer */
	uint8_t digest[16]; /* actual digest after MD5Final call */
} mdt5_ctx_t;


void md5_init(mdt5_ctx_t *ctx);
void md5_update(mdt5_ctx_t *ctx, uint8_t *in_buf, uint16_t len);
void md5_final(mdt5_ctx_t *ctx);

EXTERN_C_BLOCKEND

#endif
